"""
行政区划 PO
"""

from models import POBase
from utils.validator_utils.pydantic_validator.field import CharField


class RegionProvincePO(POBase):
    """ 行政区划 | 省 | PO """

    code: str = CharField(..., title="编号（省）")
    name: str = CharField(..., title="名称（省）")


class RegionCityPO(POBase):
    """ 行政区划 | 市 | PO """

    code: str = CharField(..., title="编号（市）")
    name: str = CharField(..., title="名称（市）")
    province_code: str = CharField(..., title="编号（省）")


class RegionAreaPO(POBase):
    """ 行政区划 | 区 | PO """

    code: str = CharField(..., title="编号（区）")
    name: str = CharField(..., title="名称（区）")
    city_code: str = CharField(..., title="编号（市）")
    province_code: str = CharField(..., title="编号（省）")


class RegionStreetPO(POBase):
    """ 行政区划 | 街道 | PO """

    code: str = CharField(..., title="编号（街道）")
    name: str = CharField(..., title="名称（街道）")
    area_code: str = CharField(..., title="编号（区）")
    city_code: str = CharField(..., title="编号（市）")
    province_code: str = CharField(..., title="编号（省）")
